package demo06

/**
 * @author xiaoZhao
 * @date 2022/7/12
 * @describe 不可变的Map
 */
object Test08_ImmutableMap {
  def main(args: Array[String]): Unit = {
    // 1.创建Map key -> value 键值对儿
    val map1: Map[String, Int] = Map("a" -> 13, "b" -> 21, "hello" -> 80)
    println(map1)
    println(map1.getClass)

    // 2.遍历元素
    for (elem <- map1) {
      println(elem+"")
    }
    map1.foreach(println)
    // 元祖类型 (String, Int)
    map1.foreach((kv: (String, Int)) => println(kv))

    // 3.取Map中所有对Key
    for (key <- map1.keys) {
      println(s"${key} ----> ${map1.get(key)}")
    }

    // 4.访问某一个Key的value
    // 不安全的，报空指针异常
    println(map1.get("a").get)
    println(map1.get("v"))
    // 推荐使用
    println(map1.getOrElse("f", 0))

    println(map1("a"))

  }
}
